package com.itheima.common;

import org.springframework.web.bind.annotation.*;

import java.sql.SQLIntegrityConstraintViolationException;

/**
 * @Description: test
 * @Create by: JJ菜菜
 * @Date: 2021/10/31 18:44
 *
 *  全局异常处理器
 */

/*@ControllerAdvice
@ResponseBody*/
@RestControllerAdvice
public class GlobalException{

    /**
     *
     * 处理添加用户名重复处理器
     * @param e
     * @return
     */
    @ExceptionHandler(SQLIntegrityConstraintViolationException.class)
    public R<String> exceptionHandler(SQLIntegrityConstraintViolationException e){
        e.printStackTrace();
        String message = e.getMessage();
        // 将改异常信息切割，取出改用户名，
        String[] s = message.split(" ");
        // 然后将添加添加重复的用户名相应给前端
        return R.error(s[2]+"已经存在");
    }

    /**
     *  删除时候判断菜品分类是否关联了菜
     * @param e
     * @return
     */
    @ExceptionHandler(MyException.class)
    public R<String> myException(MyException e){
        e.printStackTrace();
        // 响应给前端自定义的异常信息
        return R.error(e.getMessage());
    }

    /**
     * 未知异常处理
     * @param e
     * @return
     */
    @ExceptionHandler(Exception.class)
    public R<String> SystemExceptionHandler(Exception e){
        e.printStackTrace();
        return R.error("服务器忙请稍后再试！");
    }

}
